FTP (vsftpd) 相关
sudo dnf install vsftpd 安装 FTP 服务端。 sudo systemctl enable --now vsftpd 开机启动。
编辑 /etc/vsftpd/vsftpd.conf 进行配置:
# 关闭匿名用户登录 anonymous_enable=NO # 生成目录默认777,文件默认666,尽量保持默认 #local_umask=000 # 不阻止用户访问上级目录 chroot_local_user=YES # 不阻止用户访问上级目录 chroot_list_enable=YES # 允许 chroot 用户具备写权限 allow_writeable_chroot=YES
启用 chroot_local_user ,就需要创建 /etc/vsftpd/chroot_list 文件:
# 填入用户,如 user1。 user1 # 如果不填 user1,那么 user1 登录后直接访问到的目录是 /home/ftp,并且不能访问上一级 # 如果填了 user1,那么 user1 可以访问上一级 # 不管填不填,都要有这个文件
通过搭配能实现以下几种效果:
chroot_list_enable=YESchroot_local_user=YES: /etc/vsftpd/chroot_list 文件中列出的用户,可以切到其他目录;未在文件中列出的用户,不能切到其他目录。chroot_list_enable=YESchroot_local_user=NO: /etc/vsftpd.chroot_list 文件中列出的用户,不能切到其他目录;未在文件中列出的用户,可以切到其他目录。chroot_list_enable=NOchroot_local_user=YES: 所有的用户不能切到其他目录。chroot_list_enable=NOchroot_local_user=NO: 所有的用户可以切到其他目录。
配置好后重新启动 sudo systemctl restart vsftpd 。